package com.lcn.provider.lcnprovider.service.impl;

import com.codingapi.txlcn.tc.annotation.LcnTransaction;
import com.lcn.provider.lcnprovider.bean.Depart;
import com.lcn.provider.lcnprovider.repository.DepartRepository;
import com.lcn.provider.lcnprovider.service.DepartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
public class DepartServiceImpl implements DepartService {

    @Autowired
    private DepartRepository repository;

    // 插入
    @Override
    @Transactional
    @LcnTransaction
    public boolean saveDepart(Depart depart) {
        // JPA中的save()方法，其参数有以下几种情况：
        // 参数实例的id为null：save()方法执行的是插入操作
        // 参数实例的id不为null，且在DB中存在该id：save()方法执行的是修改操作
        // 参数实例的id不为null，但在DB中不存在该id：save()方法执行的是插入操作，
        //          但其插入的记录的id不是指定的这个id，而是自动递增
        Depart obj = repository.save(depart);
        if (obj != null) {
            return true;
        }
        return false;
    }


}
